﻿using System.Diagnostics.CodeAnalysis;

namespace demo22_数组练习
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //编一个程序，定义数组，用for循环语句，顺序输入10个实数，然后逆序输出这10个数
            //int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            //for(int i = a.Length-1;i >= 0; i--)
            //{
            //    Console.WriteLine(a[i]);
            //}


            //数组实现斐波那契
            //1 1 2 3 5 8......
            //0 1 2 3 4 5
            //int[] a2 = new int[12];
            //a2[0] = 1;
            //a2[1] = 1;
            //for(int i = 2;i < a2.Length; i++)
            //{
            //    a2[i] = a2[i - 2] + a2[i - 1];
            //    //a[2] = a[0] + a[1]
            //}
            //for(int i = 0;i < a2.Length; i++)
            //{
            //    Console.WriteLine(a2[i]);
            //}


            //定义一个10个元素的数组 使用for循环语句 从键盘上输入10名同学的数学成绩，分别求出最高分和最低分
            //并求出10名同学的数学平均数学成绩
            //int[] a = new int[10];
            //int max = 0;
            //int min = 100;
            //int sum = 0;
            //for(int i = 0;i < a.Length; i++)
            //{
            //    Console.WriteLine("请输入第{0}同学的成绩", i + 1);
            //    a[i] = Convert.ToInt32(Console.ReadLine());
            //    if (a[i] > max)
            //    {
            //        max = a[i];
            //    }
            //    if (a[i] < min)
            //    {
            //        min = a[i];
            //    }
            //    sum += a[i];  
            //}
            //Console.WriteLine(max);
            //Console.WriteLine(min);
            //Console.WriteLine(sum/a.Length);


            //数组里面都是人的名字 分割成：例如：老杨|老苏|老张...
            //string[] names = { "张三", "李四", "王五","赵六" };
            //for(int i = 0;i < names.Length - 1; i++)
            //{
            //    Console.Write(names[i] + "|");
            //}
            //Console.Write(names[3]);


            //翻转字符串数组
            //{"我是","好","人"}  {"人","好","我是"}
            //string[] a = { "我是", "好", "人" };
            //for(int i = 0;i < a.Length / 2; i++)
            //{
            //    string c = a[i];
            //    a[i] = a[a.Length - 1 - i];
            //    a[a.Length - 1 - i] = c;
            //}

            //for(int i = 0;i < a.Length; i++)
            //{
            //    Console.WriteLine(a[i]);
            //}


            //int a = 10;
            //int b = 20;
            //(a, b) = (b, a);
            //Console.WriteLine(a);
            //Console.WriteLine(b);


            //冒泡排序
            int[] a = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
            for(int i = 0;i < a.Length; i++)
            {
                for(int k = 0;k < a.Length - 1 - i; k++)
                {
                    if (a[k] > a[k + 1])
                    {
                        (a[k], a[k + 1]) = (a[k + 1], a[k]);
                    }
                }
            }

            for(int i = 0;i < a.Length; i++)
            {
                Console.WriteLine(a[i]);
            }

        }
    }
}
